package com.spi.soconversion;

import java.sql.Timestamp;
import java.util.ArrayList;

import com.spi.soconversion.base.definition.OpenSalesOrderDefinition;
import com.spi.soconversion.util.SOCFileWriter;

/**
 * Class for batch processing in Sales Order Conversion
 * 
 * @author XSPID41
 *
 */
public class Batch {  

	private Timestamp startTime;	
	private Timestamp endTime;
	private int batchNumber = 0;
	private int batchSize = 0;
	private int fetchSize = 0;
	private int processedSize = 0;
	private int toBeProcessedSize = 0;
	private int dataIssuesSize = 0;
	private int convertedRecordsSize = 0;
	private int vaildRecordsSize = 0;
	private int lastBatchNum = 0;
	private int notConvertedRecordsSize = 0;
	private long recordsFailedValidation = 0;
	private int totalRecordsProcessed = 0;
	private int totalRecProcessed = 0;
	private int xmlCount = 0;
	
	private SOCFileWriter fileWriter;
	private String logFileName;
	private String xmlOutputDirectory;
	
	private ArrayList<OpenSalesOrderDefinition> xmlList = null;
		
	public Timestamp getStartTime() {
		return startTime;
	}
	
	public void setStartTime(Timestamp startTime) {
		this.startTime = startTime;
	}
	
	public Timestamp getEndTime() {
		return endTime;
	}
	
	public void setEndTime(Timestamp endTime) {
		this.endTime = endTime;
	}

	public int getBatchNumber() {
		return batchNumber;
	}

	public void setBatchNumber(int batchNumber) {
		this.batchNumber = batchNumber;
	}

	public int getBatchSize() {
		return batchSize;
	}

	public void setBatchSize(int batchSize) {
		this.batchSize = batchSize;
	}

	public int getFetchSize() {
		return fetchSize;
	}

	public void setFetchSize(int fetchSize) {
		this.fetchSize = fetchSize;
	}

	public int getProcessedSize() {
		return processedSize;
	}

	public void setProcessedSize(int processedSize) {
		this.processedSize = processedSize;
	}

	public int getToBeProcessedSize() {
		return toBeProcessedSize;
	}

	public void setToBeProcessedSize(int toBeProcessedSize) {
		this.toBeProcessedSize = toBeProcessedSize;
	}

	public int getDataIssuesSize() {
		return dataIssuesSize;
	}

	public void setDataIssuesSize(int dataIssuesSize) {
		this.dataIssuesSize = dataIssuesSize;
	}

	public int getConvertedRecordsSize() {
		return convertedRecordsSize;
	}

	public void setConvertedRecordsSize(int convertedRecordsSize) {
		this.convertedRecordsSize = convertedRecordsSize;
	}

	public int getVaildRecordsSize() {
		return vaildRecordsSize;
	}

	public void setVaildRecordsSize(int vaildRecordsSize) {
		this.vaildRecordsSize = vaildRecordsSize;
	}

	public int getLastBatchNum() {
		return lastBatchNum;
	}

	public void setLastBatchNum(int lastBatchNum) {
		this.lastBatchNum = lastBatchNum;
	}

	public int getNotConvertedRecordsSize() {
		return notConvertedRecordsSize;
	}

	public void setNotConvertedRecordsSize(int notConvertedRecordsSize) {
		this.notConvertedRecordsSize = notConvertedRecordsSize;
	}

	public int getXmlCount() {
		return xmlCount;
	}

	public void setXmlCount(int xmlCount) {
		this.xmlCount = xmlCount;
	}
		
	public SOCFileWriter getFileWriter() {
		return fileWriter;
	}

	public void setFileWriter(SOCFileWriter fileWriter) {
		this.fileWriter = fileWriter;
	}

	public String getLogFileName() {
		return logFileName;
	}

	public void setLogFileName(String logFileName) {
		this.logFileName = logFileName;
	}

	public ArrayList<OpenSalesOrderDefinition> getXmlList() {
		return xmlList;
	}

	public void setXmlList(ArrayList<OpenSalesOrderDefinition> xmlList) {
		this.xmlList = xmlList;
	}

	public long getRecordsFailedValidation() {
		return recordsFailedValidation;
	}

	public void setRecordsFailedValidation(long recordsFailedValidation) {
		this.recordsFailedValidation = recordsFailedValidation;
	}

	public int getTotalRecordsProcessed() {
		return totalRecordsProcessed;
	}

	public void setTotalRecordsProcessed(int totalRecordsProcessed) {
		this.totalRecordsProcessed = totalRecordsProcessed;
	}

	public int getTotalRecProcessed() {
		return totalRecProcessed;
	}

	public void setTotalRecProcessed(int totalRecProcessed) {
		this.totalRecProcessed = totalRecProcessed;
	}

	public String getXmlOutputDirectory() {
		return xmlOutputDirectory;
	}

	public void setXmlOutputDirectory(String xmlOutputDirectory) {
		this.xmlOutputDirectory = xmlOutputDirectory;
	}
}
